Make it look good.
</gresource>
<gresource prefix="/listview_filebrowser">
<file>listview_filebrowser.ui</file>
+ <file>listview_filebrowser.css</file>
</gresource>
<gresource prefix="/listview_minesweeper">
<file>listview_minesweeper.ui</file>
GtkListItemFactory *factory;
char *icon_name;
+ char *title;
GtkOrientation orientation;
};
PROP_0,
PROP_FACTORY,
PROP_ICON_NAME,
+ PROP_TITLE,
PROP_ORIENTATION,
N_PROPS
g_value_set_string (value, self->icon_name);
break;
+ case PROP_TITLE:
+ g_value_set_string (value, self->title);
+ break;
+
case PROP_ORIENTATION:
g_value_set_enum (value, self->orientation);
break;
self->icon_name = g_value_dup_string (value);
break;
+ case PROP_TITLE:
+ g_free (self->title);
+ self->title = g_value_dup_string (value);
+ break;
+
case PROP_ORIENTATION:
self->orientation = g_value_get_enum (value);
break;
g_object_unref (self->factory);
g_free (self->icon_name);
+ g_free (self->title);
G_OBJECT_CLASS (file_browser_view_parent_class)->dispose (object);
}
"icon to display for selecting this view",
NULL,
G_PARAM_READWRITE);
+ properties[PROP_TITLE] =
+ g_param_spec_string ("title",
+ "title",
+ "title to display for selecting this view",
+ NULL,
+ G_PARAM_READWRITE);
properties[PROP_ORIENTATION] =
g_param_spec_enum ("orientation",
"orientation",
GtkDirectoryList *dirlist;
GFile *file;
char *cwd;
+ GtkCssProvider *provider;
+
+ provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_resource (provider, "/listview_filebrowser/listview_filebrowser.css");
+ gtk_style_context_add_provider_for_display (gdk_display_get_default (),
+ GTK_STYLE_PROVIDER (provider),
+ 800);
+ g_object_unref (provider);
builder = gtk_builder_new_from_resource ("/listview_filebrowser/listview_filebrowser.ui");
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
--- /dev/null
+list.viewswitcher {
+ border: 1px solid gray;
+}
+
+list.viewswitcher > row {
+ padding: 5px;
+}
+
+list.viewswitcher row:selected {
+ background: gray;
+}
</object>
</property>
<property name="icon-name">view-list-symbolic</property>
+ <property name="title" translatable="yes">List</property>
<property name="orientation">horizontal</property>
</object>
</child>
<child>
<object class="FileBrowserView">
<property name="icon-name">view-grid-symbolic</property>
+ <property name="title" translatable="yes">Grid</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<child>
<object class="FileBrowserView">
<property name="icon-name">view-paged-symbolic</property>
+ <property name="title" translatable="yes">Paged</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<property name="show-title-buttons">1</property>
<child>
<object class="GtkButton">
- <property name="icon-name">go-up</property>
+ <property name="icon-name">go-up-symbolic</property>
<signal name="clicked" handler="filebrowser_up_clicked_cb" object="dirlist" swapped="no"/>
</object>
</child>
<property name="orientation">horizontal</property>
<style>
<class name="linked"/>
+ <class name="viewswitcher"/>
</style>
<property name="model">
<object class="GtkSingleSelection" id="selected-view">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
+ <binding name="tooltip-text">
+ <lookup type="FileBrowserView" name="title">
+ <lookup name="item">GtkListItem</lookup>
+ </lookup>
+ </binding>
</object>
</property>
</template>